package com.tsy.server.manage.service;

import com.tsy.server.manage.model.dto.CapacityCameraDTO;
import com.tsy.server.manage.model.receiver.CapacityCameraReceiver;

import java.util.List;

/**
 * @author sean.zhou
 * @date 2021/11/19
 * @version 0.1
 */
public interface ICapacityCameraService {

    /**
     * 根据设备SN查询该设备可用于直播的所有相机数据。
     * @param deviceSn 设备SN
     * @return
     */
    List<CapacityCameraDTO> getCapacityCameraByDeviceSn(String deviceSn);

    /**
     * 根据设备SN删除该设备的全部直播能力数据。
     * @param deviceSn 设备SN
     * @return
     */
    Boolean deleteCapacityCameraByDeviceSn(String deviceSn);

    /**
     * 保存设备的直播能力数据。
     * @param capacityCameraReceivers 能力上报列表
     * @param deviceSn 设备SN
     */
    void saveCapacityCameraReceiverList(List<CapacityCameraReceiver> capacityCameraReceivers, String deviceSn);

    /**
     * 将接收到的相机能力对象转换为相机数据传输对象。
     * @param receiver 能力上报
     * @return
     */
    CapacityCameraDTO receiver2Dto(CapacityCameraReceiver receiver);
}
